package com.swind.fast.modules.app.railway.project.service;

import com.swind.fast.common.system.base.service.SwindService;
import com.swind.fast.modules.app.railway.project.entity.RailwayProject;
import com.swind.fast.modules.app.railway.project.entity.RailwayProjectOperationLog;
import com.swind.fast.modules.app.railway.project.vo.RailwayProjectVo;
import com.swind.fast.modules.app.railway.project.vo.RailwayProjectStatisticVo;
import com.swind.fast.modules.app.railway.project.vo.RailwayDataManagementStatisticVo;

import java.util.List;

/**
 * @Description: 项目
 */
public interface IRailwayProjectService extends SwindService<RailwayProject> {

    void saveMain(RailwayProject railwayProject);

    RailwayProject getUserSpecificProjects(RailwayProject railwayProject);

    RailwayProjectVo getProjectById(String id);

    RailwayProjectStatisticVo getProjectStatistic();

    RailwayDataManagementStatisticVo getDataManagementStatistic(String projectId);

    // void updateProjectStatus(String projectId, String status);

    void updateProjectStatus(RailwayProjectOperationLog operation);
    void deleteMainById(String id);

    List<RailwayProject> getProjectByOrgCode(String startDate, String endDate);
    List<RailwayProject> getProjectByOrgCode(String orgCode, String startDate, String endDate);
}
